The subject system and method are generally directed to the automated testing of user interface software.
User interface software serves as a means of supplying input from a user to core software on the “back end,” and of supplying output from the core software to the user. An important feature of user interface software is the speed at which the interface visually responds to input, by rendering a visual prompt in the interface. Time lag in presenting an accurate visual prompt might confuse a user into thinking the input was not completely received or accepted. The user might also, when providing rapid input, lose track of what input has been provided if the visual prompts fail to maintain speed with the input. Ideally, this time lag should be reduced to the point where a user will not perceive it, but this cannot be done without first becoming aware of the time lag through quality assurance or other suitable testing.
Presentation of a visual prompt is dependent not only on the processing of the input with the core software, but also on the user interface itself, which may be slow to render the visual prompts due to its own software code. Existing automated quality assurance tests for software can detect speed issues in the former but not the latter, even though the user interface may be the source of an issue. In particular, existing automated tests have no adequate means to test whether “transitional responses” of such a prompt follow continuous input, such as location input in motion, in a clean, “smooth” manner. Testing the speed of the user interface itself is therefore typically done in a manual fashion, which tends to be expensive, slow, and imprecise.
There is therefore a need for an automated user interface test that can determine whether the user interface's visual performance meets predefined benchmarks.
There is also a need for said automated user interface test to evaluate time lag in visually presenting a response.
There is also a need for said automated user interface test to evaluate lag in visually maintaining a minimum distance between an input location and a response location over time.
There is also a need for said automated user interface test to produce testing results reflective of a real user experience providing real input to the user interface.
There is also a need for said automated user interface test to reproduce the testing results in a consistent manner.